package com.teach.servlet;

import com.alibaba.fastjson.JSON;
import com.teach.R;
import com.teach.dto.AuthDto;
import com.teach.service.AdminService;
import com.teach.service.impl.AdminServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

@WebServlet("/login.let")
public class LoginServlet extends HttpServlet {

  private AdminService adminService = new AdminServiceImpl();

  @Override
  protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    String name = req.getParameter("name");
    String pwd = req.getParameter("pwd");
    R<?> r = R.ok();
    try {
      AuthDto auth = adminService.login(name, pwd);
      HttpSession session = req.getSession();
//      String id = session.getId();//唯一标记 -> cookie[jsessionid]
      session.setAttribute("auth", auth);
    }catch (Exception ex){
      r = R.error().setMessage(ex.getMessage());
    }
    resp.setContentType("application/json;charset=utf-8");
    resp.getWriter().print(JSON.toJSONString(r));
    resp.flushBuffer();
  }
}
